package cn.touna.jss.modules.third.tx.entity;

import cn.touna.risk.api.contraints.IdCard;
import cn.touna.risk.api.contraints.facet.First;
import cn.touna.risk.api.contraints.facet.Four;
import cn.touna.risk.api.contraints.facet.Second;
import cn.touna.risk.api.contraints.facet.Three;
import cn.touna.risk.api.domain.BaseDomain;
import com.alibaba.fastjson.annotation.JSONField;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.GroupSequence;

@GroupSequence({First.class, TianXingRequestEntity.class})
public class TianXingRequestEntity extends BaseDomain {

    private String account;
    @NotBlank(message = "姓名不能为空", groups = {First.class, Second.class, Four.class})
    private String name;
    @IdCard(message = "身份证号非法", groups = {First.class, Second.class, Three.class})
    private String idCard;

    private String licensePlate;
    private String vin;
    private String mockType;

    private String key;
    private String keyType;

    private boolean flag;

    private int  pageIndex;


    public int getPageIndex() {
        return pageIndex;
    }

    public void setPageIndex(int pageIndex) {
        this.pageIndex = pageIndex;
    }

    public String getAccount() {
        return account;
    }


    public void setAccount(String account) {
        this.account = account;
    }


    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public String getIdCard() {
        return idCard;
    }


    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }


    public String getLicensePlate() {
        return licensePlate;
    }


    public void setLicensePlate(String licensePlate) {
        this.licensePlate = licensePlate;
    }


    public String getVin() {
        return vin;
    }

    @JSONField(name = "VIN")
    public void setVin(String vin) {
        this.vin = vin;
    }


    public String getMockType() {
        return mockType;
    }

    public void setMockType(String mockType) {
        this.mockType = mockType;
    }


    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }


    public String getKeyType() {
        return keyType;
    }

    public void setKeyType(String keyType) {
        this.keyType = keyType;
    }


    public boolean isFlag() {
        return flag;
    }


    public void setFlag(boolean flag) {
        this.flag = flag;
    }

}
